package com.aaa.repast.product.domain;

import com.aaa.repast.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 商品表 pms_product
 * 
 * @author teacherChen
 * @date 2020-01-03
 */
@ApiModel(description = "商品实体类")
public class Product extends BaseEntity
{
	private static final long serialVersionUID = 1L;
	

	/**  */
	@ApiModelProperty(value = "")
	private Long id;

	/** 店铺ID */
	@ApiModelProperty(value = "店铺ID")
	private Long shopId;

	/** 品牌ID */
	@ApiModelProperty(value = "品牌ID")
	private Long brandId;

	/** 产品类别ID */
	@ApiModelProperty(value = "产品类别ID")
	private Long productCategoryId;

	/** 产品属性类别ID */
	@ApiModelProperty(value = "产品属性类别ID")
	private Long productAttributeCategoryId;

	/**  */
	@ApiModelProperty(value = "")
	private String name;

	/**  */
	@ApiModelProperty(value = "")
	private String pic;

	/** 货号 */
	@ApiModelProperty(value = "货号")
	private String productSn;

	/** 删除状态：0->未删除；1->已删除 */
	@ApiModelProperty(value = "删除状态：0->未删除；1->已删除")
	private Integer deleteStatus;

	/** 上架状态：0->下架；1->上架 */
	@ApiModelProperty(value = "上架状态：0->下架；1->上架")
	private Integer publishStatus;

	/** 新品状态:0->不是新品；1->新品 */
	@ApiModelProperty(value = "新品状态:0->不是新品；1->新品")
	private Integer newStatus;

	/** 推荐状态；0->不推荐；1->推荐 */
	@ApiModelProperty(value = "推荐状态；0->不推荐；1->推荐")
	private Integer recommandStatus;

	/** 排序 */
	@ApiModelProperty(value = "排序")
	private Integer sort;

	/** 销量 */
	@ApiModelProperty(value = "销量")
	private Integer sale;

	/**  */
	@ApiModelProperty(value = "")
	private BigDecimal price;

	/** 促销价格 */
	@ApiModelProperty(value = "促销价格")
	private BigDecimal promotionPrice;

	/** 赠送的积分 */
	@ApiModelProperty(value = "赠送的积分")
	private Integer giftPoint;

	/** 副标题 */
	@ApiModelProperty(value = "副标题")
	private String subTitle;

	/** 商品描述 */
	@ApiModelProperty(value = "商品描述")
	private String description;

	/** 市场价 */
	@ApiModelProperty(value = "市场价")
	private BigDecimal originalPrice;

	/** 库存 */
	@ApiModelProperty(value = "库存")
	private Integer stock;

	/** 库存预警值 */
	@ApiModelProperty(value = "库存预警值")
	private Integer lowStock;

	/** 单位 */
	@ApiModelProperty(value = "单位")
	private String unit;

	/** 商品重量，默认为克 */
	@ApiModelProperty(value = "商品重量，默认为克")
	private BigDecimal weight;

	/** 以逗号分割的产品服务：1->无忧退货；2->快速退款；3->免费包邮 */
	@ApiModelProperty(value = "以逗号分割的产品服务：1->无忧退货；2->快速退款；3->免费包邮")
	private String serviceIds;

	/**  */
	@ApiModelProperty(value = "")
	private String keywords;

	/**  */
	@ApiModelProperty(value = "")
	private String note;

	/** 画册id */
	@ApiModelProperty(value = "画册id")
	private Long albumId;

	/**  */
	@ApiModelProperty(value = "")
	private String detailTitle;

	/**  */
	@ApiModelProperty(value = "")
	private String detailDesc;

	/** 产品详情网页内容 */
	@ApiModelProperty(value = "产品详情网页内容")
	private String detailHtml;

	/** 移动端网页详情 */
	@ApiModelProperty(value = "移动端网页详情")
	private String detailMobileHtml;

	/** 促销开始时间 */
	@ApiModelProperty(value = "促销开始时间")
	private Date promotionStartTime;

	/** 促销结束时间 */
	@ApiModelProperty(value = "促销结束时间")
	private Date promotionEndTime;

	/** 活动限购数量 */
	@ApiModelProperty(value = "活动限购数量")
	private Integer promotionPerLimit;

	/** 促销类型：0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购 */
	@ApiModelProperty(value = "促销类型：0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购")
	private Integer promotionType;

	/** 品牌名称 */
	@ApiModelProperty(value = "品牌名称")
	private String brandName;

	/** 商品分类名称 */
	@ApiModelProperty(value = "商品分类名称")
	private String productCategoryName;

	/** 币种，0-> 人民币;  1-> 积分 */
	@ApiModelProperty(value = "币种，0-> 人民币;  1-> 积分")
	private Integer currency;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Long getBrandId() {
        return brandId;
    }

    public void setBrandId(Long brandId) {
        this.brandId = brandId;
    }

    public Long getProductCategoryId() {
        return productCategoryId;
    }

    public void setProductCategoryId(Long productCategoryId) {
        this.productCategoryId = productCategoryId;
    }

    public Long getProductAttributeCategoryId() {
        return productAttributeCategoryId;
    }

    public void setProductAttributeCategoryId(Long productAttributeCategoryId) {
        this.productAttributeCategoryId = productAttributeCategoryId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public String getProductSn() {
        return productSn;
    }

    public void setProductSn(String productSn) {
        this.productSn = productSn;
    }

    public Integer getDeleteStatus() {
        return deleteStatus;
    }

    public void setDeleteStatus(Integer deleteStatus) {
        this.deleteStatus = deleteStatus;
    }

    public Integer getPublishStatus() {
        return publishStatus;
    }

    public void setPublishStatus(Integer publishStatus) {
        this.publishStatus = publishStatus;
    }

    public Integer getNewStatus() {
        return newStatus;
    }

    public void setNewStatus(Integer newStatus) {
        this.newStatus = newStatus;
    }

    public Integer getRecommandStatus() {
        return recommandStatus;
    }

    public void setRecommandStatus(Integer recommandStatus) {
        this.recommandStatus = recommandStatus;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Integer getSale() {
        return sale;
    }

    public void setSale(Integer sale) {
        this.sale = sale;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getPromotionPrice() {
        return promotionPrice;
    }

    public void setPromotionPrice(BigDecimal promotionPrice) {
        this.promotionPrice = promotionPrice;
    }

    public Integer getGiftPoint() {
        return giftPoint;
    }

    public void setGiftPoint(Integer giftPoint) {
        this.giftPoint = giftPoint;
    }

    public String getSubTitle() {
        return subTitle;
    }

    public void setSubTitle(String subTitle) {
        this.subTitle = subTitle;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public BigDecimal getOriginalPrice() {
        return originalPrice;
    }

    public void setOriginalPrice(BigDecimal originalPrice) {
        this.originalPrice = originalPrice;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public Integer getLowStock() {
        return lowStock;
    }

    public void setLowStock(Integer lowStock) {
        this.lowStock = lowStock;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    public String getServiceIds() {
        return serviceIds;
    }

    public void setServiceIds(String serviceIds) {
        this.serviceIds = serviceIds;
    }

    public String getKeywords() {
        return keywords;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public Long getAlbumId() {
        return albumId;
    }

    public void setAlbumId(Long albumId) {
        this.albumId = albumId;
    }

    public String getDetailTitle() {
        return detailTitle;
    }

    public void setDetailTitle(String detailTitle) {
        this.detailTitle = detailTitle;
    }

    public String getDetailDesc() {
        return detailDesc;
    }

    public void setDetailDesc(String detailDesc) {
        this.detailDesc = detailDesc;
    }

    public String getDetailHtml() {
        return detailHtml;
    }

    public void setDetailHtml(String detailHtml) {
        this.detailHtml = detailHtml;
    }

    public String getDetailMobileHtml() {
        return detailMobileHtml;
    }

    public void setDetailMobileHtml(String detailMobileHtml) {
        this.detailMobileHtml = detailMobileHtml;
    }

    public Date getPromotionStartTime() {
        return promotionStartTime;
    }

    public void setPromotionStartTime(Date promotionStartTime) {
        this.promotionStartTime = promotionStartTime;
    }

    public Date getPromotionEndTime() {
        return promotionEndTime;
    }

    public void setPromotionEndTime(Date promotionEndTime) {
        this.promotionEndTime = promotionEndTime;
    }

    public Integer getPromotionPerLimit() {
        return promotionPerLimit;
    }

    public void setPromotionPerLimit(Integer promotionPerLimit) {
        this.promotionPerLimit = promotionPerLimit;
    }

    public Integer getPromotionType() {
        return promotionType;
    }

    public void setPromotionType(Integer promotionType) {
        this.promotionType = promotionType;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public String getProductCategoryName() {
        return productCategoryName;
    }

    public void setProductCategoryName(String productCategoryName) {
        this.productCategoryName = productCategoryName;
    }

    public Integer getCurrency() {
        return currency;
    }

    public void setCurrency(Integer currency) {
        this.currency = currency;
    }

    @Override
    public String toString() {
        return "Product{" +
                "id=" + id +
                ", shopId=" + shopId +
                ", brandId=" + brandId +
                ", productCategoryId=" + productCategoryId +
                ", productAttributeCategoryId=" + productAttributeCategoryId +
                ", name='" + name + '\'' +
                ", pic='" + pic + '\'' +
                ", productSn='" + productSn + '\'' +
                ", deleteStatus=" + deleteStatus +
                ", publishStatus=" + publishStatus +
                ", newStatus=" + newStatus +
                ", recommandStatus=" + recommandStatus +
                ", sort=" + sort +
                ", sale=" + sale +
                ", price=" + price +
                ", promotionPrice=" + promotionPrice +
                ", giftPoint=" + giftPoint +
                ", subTitle='" + subTitle + '\'' +
                ", description='" + description + '\'' +
                ", originalPrice=" + originalPrice +
                ", stock=" + stock +
                ", lowStock=" + lowStock +
                ", unit='" + unit + '\'' +
                ", weight=" + weight +
                ", serviceIds='" + serviceIds + '\'' +
                ", keywords='" + keywords + '\'' +
                ", note='" + note + '\'' +
                ", albumId=" + albumId +
                ", detailTitle='" + detailTitle + '\'' +
                ", detailDesc='" + detailDesc + '\'' +
                ", detailHtml='" + detailHtml + '\'' +
                ", detailMobileHtml='" + detailMobileHtml + '\'' +
                ", promotionStartTime=" + promotionStartTime +
                ", promotionEndTime=" + promotionEndTime +
                ", promotionPerLimit=" + promotionPerLimit +
                ", promotionType=" + promotionType +
                ", brandName='" + brandName + '\'' +
                ", productCategoryName='" + productCategoryName + '\'' +
                ", currency=" + currency +
                '}';
    }
}
